{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 导入所需的包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 导入所需的包\n",
    "from pylab import mpl\n",
    "import re\n",
    "import math\n",
    "import matplotlib.pyplot as plt\n",
    "import networkx as nx\n",
    "import random\n",
    "from collections import defaultdict\n",
    "import numpy as np\n",
    "\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']  # 指定默认字体\n",
    "mpl.rcParams['axes.unicode_minus'] = False  # 解决保存图像是负号'-'显示为方块的问题"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 处理坐标数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 地图上城市的地理位置坐标资源\n",
    "coordination_source = \"\"\"\n",
    "{name:'兰州', geoCoord:[103.73, 36.03]},\n",
    "{name:'嘉峪关', geoCoord:[98.17, 39.47]},\n",
    "{name:'西宁', geoCoord:[101.74, 36.56]},\n",
    "{name:'成都', geoCoord:[104.06, 30.67]},\n",
    "{name:'石家庄', geoCoord:[114.48, 38.03]},\n",
    "{name:'拉萨', geoCoord:[102.73, 25.04]},\n",
    "{name:'贵阳', geoCoord:[106.71, 26.57]},\n",
    "{name:'武汉', geoCoord:[114.31, 30.52]},\n",
    "{name:'郑州', geoCoord:[113.65, 34.76]},\n",
    "{name:'济南', geoCoord:[117, 36.65]},\n",
    "{name:'南京', geoCoord:[118.78, 32.04]},\n",
    "{name:'合肥', geoCoord:[117.27, 31.86]},\n",
    "{name:'杭州', geoCoord:[120.19, 30.26]},\n",
    "{name:'南昌', geoCoord:[115.89, 28.68]},\n",
    "{name:'福州', geoCoord:[119.3, 26.08]},\n",
    "{name:'广州', geoCoord:[113.23, 23.16]},\n",
    "{name:'长沙', geoCoord:[113, 28.21]},\n",
    "//{name:'海口', geoCoord:[110.35, 20.02]},\n",
    "{name:'沈阳', geoCoord:[123.38, 41.8]},\n",
    "{name:'长春', geoCoord:[125.35, 43.88]},\n",
    "{name:'哈尔滨', geoCoord:[126.63, 45.75]},\n",
    "{name:'太原', geoCoord:[112.53, 37.87]},\n",
    "{name:'西安', geoCoord:[108.95, 34.27]},\n",
    "//{name:'台湾', geoCoord:[121.30, 25.03]},\n",
    "{name:'北京', geoCoord:[116.46, 39.92]},\n",
    "{name:'上海', geoCoord:[121.48, 31.22]},\n",
    "{name:'重庆', geoCoord:[106.54, 29.59]},\n",
    "{name:'天津', geoCoord:[117.2, 39.13]},\n",
    "{name:'呼和浩特', geoCoord:[111.65, 40.82]},\n",
    "{name:'南宁', geoCoord:[108.33, 22.84]},\n",
    "//{name:'西藏', geoCoord:[91.11, 29.97]},\n",
    "{name:'银川', geoCoord:[106.27, 38.47]},\n",
    "{name:'乌鲁木齐', geoCoord:[87.68, 43.77]},\n",
    "{name:'香港', geoCoord:[114.17, 22.28]},\n",
    "{name:'澳门', geoCoord:[113.54, 22.19]}\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 正则表达式获取城市和地理坐标\n",
    "pattern = re.compile(r\"name:'(.*?)', geoCoord:\\[(.*?), (.*?)\\]\")\n",
    "city_info = pattern.findall(coordination_source)\n",
    "# 字典生成式整理成字典\n",
    "city_info = {i[0]:(float(i[1]), float(i[2])) for i in city_info}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'兰州': (103.73, 36.03),\n",
       " '嘉峪关': (98.17, 39.47),\n",
       " '西宁': (101.74, 36.56),\n",
       " '成都': (104.06, 30.67),\n",
       " '石家庄': (114.48, 38.03),\n",
       " '拉萨': (102.73, 25.04),\n",
       " '贵阳': (106.71, 26.57),\n",
       " '武汉': (114.31, 30.52),\n",
       " '郑州': (113.65, 34.76),\n",
       " '济南': (117.0, 36.65),\n",
       " '南京': (118.78, 32.04),\n",
       " '合肥': (117.27, 31.86),\n",
       " '杭州': (120.19, 30.26),\n",
       " '南昌': (115.89, 28.68),\n",
       " '福州': (119.3, 26.08),\n",
       " '广州': (113.23, 23.16),\n",
       " '长沙': (113.0, 28.21),\n",
       " '海口': (110.35, 20.02),\n",
       " '沈阳': (123.38, 41.8),\n",
       " '长春': (125.35, 43.88),\n",
       " '哈尔滨': (126.63, 45.75),\n",
       " '太原': (112.53, 37.87),\n",
       " '西安': (108.95, 34.27),\n",
       " '台湾': (121.3, 25.03),\n",
       " '北京': (116.46, 39.92),\n",
       " '上海': (121.48, 31.22),\n",
       " '重庆': (106.54, 29.59),\n",
       " '天津': (117.2, 39.13),\n",
       " '呼和浩特': (111.65, 40.82),\n",
       " '南宁': (108.33, 22.84),\n",
       " '西藏': (91.11, 29.97),\n",
       " '银川': (106.27, 38.47),\n",
       " '乌鲁木齐': (87.68, 43.77),\n",
       " '香港': (114.17, 22.28),\n",
       " '澳门': (113.54, 22.19)}"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "city_info"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 城市初始画图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 计算球面距离的函数，传入两个点的经纬度元组可以计算千米距离\n",
    "def geo_distance(origin, destination):\n",
    "    \"\"\"\n",
    "    Calculate the Haversine distance.\n",
    "\n",
    "    Parameters\n",
    "    ----------\n",
    "    origin : tuple of float\n",
    "        (lat, long)\n",
    "    destination : tuple of float\n",
    "        (lat, long)\n",
    "\n",
    "    Returns\n",
    "    -------\n",
    "    distance_in_km : float\n",
    "\n",
    "    Examples\n",
    "    --------\n",
    "    >>> origin = (48.1372, 11.5756)  # Munich\n",
    "    >>> destination = (52.5186, 13.4083)  # Berlin\n",
    "    >>> round(distance(origin, destination), 1)\n",
    "    504.2\n",
    "    \"\"\"\n",
    "    lon1, lat1 = origin\n",
    "    lon2, lat2 = destination\n",
    "    radius = 6371  # km\n",
    "\n",
    "    dlat = math.radians(lat2 - lat1)\n",
    "    dlon = math.radians(lon2 - lon1)\n",
    "    a = (math.sin(dlat / 2) * math.sin(dlat / 2) +\n",
    "         math.cos(math.radians(lat1)) * math.cos(math.radians(lat2)) *\n",
    "         math.sin(dlon / 2) * math.sin(dlon / 2))\n",
    "    c = 2 * math.atan2(math.sqrt(a), math.sqrt(1 - a))\n",
    "    d = radius * c\n",
    "\n",
    "    return d"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "+ 余弦距离 Cosine Distance\n",
    "\n",
    "![image.png](attachment:image.png)\n",
    "\n",
    "+ 欧几里得距离 Euclidean Distance\n",
    "\n",
    "![image.png](attachment:image.png)\n",
    "\n",
    "+ 曼哈顿距离 Manhattan distance or Manhattan length\n",
    "\n",
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "attachments": {
    "image.png": {
     "image/png": "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"
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "![image.png](attachment:image.png)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 开始用包画图\n",
    "city_graph = nx.Graph()\n",
    "# 添加节点\n",
    "city_graph.add_nodes_from(list(city_info.keys()))\n",
    "# 画图，画初始化节点图\n",
    "nx.draw(city_graph, city_info, with_labels=True, node_size=30)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## K-means 算法处理"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 将地点的坐标都存进列表中，供后续获取使用\n",
    "all_x = []\n",
    "all_y = []\n",
    "\n",
    "for _, location in city_info.items():\n",
    "    x, y = location\n",
    "    \n",
    "    all_x.append(x)\n",
    "    all_y.append(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取随机中心点函数\n",
    "def get_random_center(all_x, all_y):\n",
    "    r_x = random.uniform(min(all_x), max(all_x))\n",
    "    r_y = random.uniform(min(all_y), max(all_y))\n",
    "    \n",
    "    return r_x, r_y"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"测试结果：\\n{'1': (106.54690890188729, 34.07312420572654),\\n '2': (111.5619540162518, 40.45150807245993),\\n '3': (116.45076260602215, 31.57037819656026),\\n '4': (88.6932476972544, 25.98156324657292),\\n '5': (102.8022574415564, 37.20200241004578)}\\n\""
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# # 获取 5 个随机的中心点\n",
    "# K = 5\n",
    "# centers = {'{}'.format(i + 1): get_random_center(all_x, all_y) for i in range(K)}\n",
    "# centers\n",
    "\n",
    "'''测试结果：\n",
    "{'1': (106.54690890188729, 34.07312420572654),\n",
    " '2': (111.5619540162518, 40.45150807245993),\n",
    " '3': (116.45076260602215, 31.57037819656026),\n",
    " '4': (88.6932476972544, 25.98156324657292),\n",
    " '5': (102.8022574415564, 37.20200241004578)}\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"测试结果：\\ndefaultdict(list,\\n            {'5': [[103.73, 36.03],\\n              [98.17, 39.47],\\n              [101.74, 36.56],\\n              [106.27, 38.47],\\n              [87.68, 43.77]],\\n             '1': [[104.06, 30.67],\\n              [102.73, 25.04],\\n              [106.71, 26.57],\\n              [108.95, 34.27],\\n              [106.54, 29.59]],\\n             '2': [[114.48, 38.03],\\n              [123.38, 41.8],\\n              [125.35, 43.88],\\n              [126.63, 45.75],\\n              [112.53, 37.87],\\n              [116.46, 39.92],\\n              [117.2, 39.13],\\n              [111.65, 40.82]],\\n             '3': [[114.31, 30.52],\\n              [113.65, 34.76],\\n              [117.0, 36.65],\\n              [118.78, 32.04],\\n              [117.27, 31.86],\\n              [120.19, 30.26],\\n              [115.89, 28.68],\\n              [119.3, 26.08],\\n              [113.23, 23.16],\\n              [113.0, 28.21],\\n              [110.35, 20.02],\\n              [121.3, 25.03],\\n              [121.48, 31.22],\\n              [108.33, 22.84],\\n              [114.17, 22.28],\\n              [113.54, 22.19]],\\n             '4': [[91.11, 29.97]]})\\n\""
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# closest_points = defaultdict(list)\n",
    "\n",
    "# for x, y in zip(all_x, all_y):\n",
    "#     # 取每个城市点最近的中心点序号和距离\n",
    "#     closest_c, closest_dis = min([(k, geo_distance((x, y), centers[k])) for k in centers], key=lambda t: t[1])    \n",
    "    \n",
    "#     # 城市加入中心点的行列\n",
    "#     closest_points[closest_c].append([x, y])\n",
    "    \n",
    "# closest_points\n",
    "\n",
    "'''测试结果：\n",
    "defaultdict(list,\n",
    "            {'5': [[103.73, 36.03],\n",
    "              [98.17, 39.47],\n",
    "              [101.74, 36.56],\n",
    "              [106.27, 38.47],\n",
    "              [87.68, 43.77]],\n",
    "             '1': [[104.06, 30.67],\n",
    "              [102.73, 25.04],\n",
    "              [106.71, 26.57],\n",
    "              [108.95, 34.27],\n",
    "              [106.54, 29.59]],\n",
    "             '2': [[114.48, 38.03],\n",
    "              [123.38, 41.8],\n",
    "              [125.35, 43.88],\n",
    "              [126.63, 45.75],\n",
    "              [112.53, 37.87],\n",
    "              [116.46, 39.92],\n",
    "              [117.2, 39.13],\n",
    "              [111.65, 40.82]],\n",
    "             '3': [[114.31, 30.52],\n",
    "              [113.65, 34.76],\n",
    "              [117.0, 36.65],\n",
    "              [118.78, 32.04],\n",
    "              [117.27, 31.86],\n",
    "              [120.19, 30.26],\n",
    "              [115.89, 28.68],\n",
    "              [119.3, 26.08],\n",
    "              [113.23, 23.16],\n",
    "              [113.0, 28.21],\n",
    "              [110.35, 20.02],\n",
    "              [121.3, 25.03],\n",
    "              [121.48, 31.22],\n",
    "              [108.33, 22.84],\n",
    "              [114.17, 22.28],\n",
    "              [113.54, 22.19]],\n",
    "             '4': [[91.11, 29.97]]})\n",
    "'''"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 获取最新中心点的函数\n",
    "def iterate_once(centers, closest_points, threshold=5):\n",
    "    have_changed = False\n",
    "    \n",
    "    for c in closest_points:\n",
    "        # 之前的中心\n",
    "        former_center = centers[c]\n",
    "        \n",
    "        # 现在在这个中心的有哪些点\n",
    "        neighbors = closest_points[c]\n",
    "        # 找出这些点的中心来\n",
    "        neighbors_center = np.mean(neighbors, axis=0)\n",
    "        \n",
    "        # 如果距离大于 threshold 则更新新的中心点\n",
    "        if geo_distance(neighbors_center, former_center) > threshold:\n",
    "            centers[c] = neighbors_center\n",
    "            have_changed = True\n",
    "        else:\n",
    "            # 否则还是前面的中心点好\n",
    "            pass ## keep former center\n",
    "        \n",
    "    return centers, have_changed"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 手写 kmeans 函数\n",
    "def kmeans(Xs, k, threshold=5):\n",
    "    # 获取经度\n",
    "    all_x = Xs[:, 0]\n",
    "    # 获取维度\n",
    "    all_y = Xs[:, 1]\n",
    "    \n",
    "    K = k\n",
    "    \n",
    "    # 获取随机的 k 个中心点\n",
    "    centers = {'{}'.format(i+1): get_random_center(all_x, all_y) for i in range(K)}\n",
    "    \n",
    "    changed = True\n",
    "    \n",
    "    # 这种迭代是不限次数的，直到迭代到最好的结果\n",
    "    while changed:\n",
    "        # 循环获取最好的 k 个中心点\n",
    "        closest_points = defaultdict(list)\n",
    "\n",
    "        for x, y, in zip(all_x, all_y):\n",
    "            # 取每个城市点最近的中心点序号和距离\n",
    "            closest_c, closest_dis = min([(k, geo_distance((x, y), centers[k])) for k in centers], key=lambda t: t[1])\n",
    "            # 城市加入中心点的行列\n",
    "            closest_points[closest_c].append([x, y])   \n",
    "            \n",
    "        centers, changed = iterate_once(centers, closest_points, threshold)\n",
    "        print('迭代了一次')\n",
    "\n",
    "    return centers, closest_points"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "迭代了一次\n",
      "迭代了一次\n",
      "迭代了一次\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "{'1': array([89.395, 36.87 ]),\n",
       " '2': array([106.14857143,  37.64142857]),\n",
       " '3': array([115.39714286,  23.92      ]),\n",
       " '4': array([119.3225    ,  37.10833333]),\n",
       " '5': array([107.95428571,  27.63428571])}"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# np.array(list(city_info.values())) 生成了二维数组，k 为设置几个中心点，threshold 为阈值，最新的中心点跟旧的中心点相差小于等于这个值就不继续迭代了\n",
    "centers, closest_points = kmeans(np.array(list(city_info.values())), k=5, threshold=1)\n",
    "centers"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 画图展示相关结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画散点图，按 普通城市、选出的能源中心 维度\n",
    "plt.scatter(all_x, all_y)\n",
    "plt.scatter(*zip(*centers.values()))\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 画散点图，按 中心点聚类 维度\n",
    "for c, points in closest_points.items():\n",
    "    plt.scatter(*zip(*points))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'能源站-1': array([89.395, 36.87 ]),\n",
       " '能源站-2': array([106.14857143,  37.64142857]),\n",
       " '能源站-3': array([115.39714286,  23.92      ]),\n",
       " '能源站-4': array([119.3225    ,  37.10833333]),\n",
       " '能源站-5': array([107.95428571,  27.63428571])}"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 解析能源站位置\n",
    "city_info_with_station = {\n",
    "    '能源站-{}'.format(i): position for i, position in centers.items()\n",
    "}\n",
    "city_info_with_station"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 画城市网图函数，可直接调用画\n",
    "def draw_cities(cities, color=None):\n",
    "    city_graph = nx.Graph()\n",
    "    city_graph.add_nodes_from(list(cities.keys()))\n",
    "    nx.draw(city_graph, cities, node_color=color, with_labels=True, node_size=30)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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DG6SJEmSFOcMbpIkHYTC4TArVqzgo48+4v/+7/94/PHHf9Vm9+7dzJ49+3fvM2LECFavXg3Ali1bGDNmDACpqalkZ2fv9ZpPPvmEDh065Dn26KOPcs899/ydrkjSQcHgJknSAeztt9+mYcOGNGzYkC5duvDGG29QtWpVGjRoQOPGjbn33nvZuHEj0WiUaDTKsGHDOOusszj66KM55phjGDhw4G8GsEgkwsKFCznuuOOYPn06n376Kc8//zwAoVCIUCi01+tSUlIoUaIEADk5OUQiEYoUKUIoFCIajbJr16798llIUmEWLOgCJEnS/rN9+3aaNWtGr169OPPMM+nYsSPHH388lSpVonv37nTq1Il27dqxcOFCAoEAHTp04LTTTuOBBx7gkksuoWXLlkSjUapXr07x4sVj91y4cCHJyck8+uijNG/enCOPPJI777yT7777jmbNmrFr1y6aNWtGTk4O//jHP3j44YcBaN26Nffeey8JCXu+O37zzTcZMGAAW7duJRwO88orr1CyZEnee++9AvvMJCkeGdwkSTqAJSYm5vn9tm3bOPHEE1m+fHns+OTJk3n55ZeZMGEClStXJhgMkpSUBOwZEfv52jlz5gBQsWJFQuvXEx40iI2ffcZ5zZuzpU4d3nzzTZYuXcqhhx5KxYoV+fTTT/PUsnTpUubOncujjz7KV199xZ133sm9995L586def7551m/fj19+/bdvx+IJBVSBjdJkg4ihxxyCM2aNWPRokWxYx988AE33ngj69ev5+yzzyYYDPL111/z6aefUqRIEW666abYCBkAubkkNGjAu9u30zU3lwfmzePyMWP4ZupUDj300F+9Zzgcjr1Pnz59OOWUUxg6dCj33HMP559/Pt999x25ublEo1Eefvhhypcvz6WXXspNN9203z8PSSosDG6SJB3AAoFAntfffvst3bp1Y/Xq1axZs4avv/6ajh07sn37djZv3sysWbPYsGEDlStXpk+fPpx00klUr16du+6665eb7NgB2dm0y83lbeDzSIQxO3bweKdOhGrUAKBq1ao0a9YMgOzsbLp3787pp59OUlISa9euJRqN8uWXX/Lyyy/nqa927drMnTt3v34mklQYGdwkSTqARSIRXnzxRd555x1CoRBr165lzpw5hEIhtmzZwrJly0hNTSUcDhMMBjn66KPp168fxYoV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7NixLFmyBICMjAxGPfkkPZs2ZdXll/PWkiWUqVKFXr16xUIbwIcffsgNN9wQC4W1a9cmKSmJQw89lMaNGxOJRLj99tvp2rXr/u+oJEnSQcrgJh0gRowYwfDhwylWrFie4+vWreOxxx7joosuIhQKxUbGQlu2EJwzB+bO5bpwmDsTEtixbBldO3bk5TffjG342rp16zzPx91xxx3UqFGD7t2751fXJEmSDnoGN+kA0ahRI3r16kXJkiXzHN+8eTPt27f/9QUvvQS5uTwQjbINuDISIRAOs3D1apo2bcqTTz5J48aN//B9o9Eo2dnZJCcn75uOSJIk6VcMblIht2bNGhYtWsSll17K559/zrnnnku9evUA+Oqrrxg9ejSnn346H3zwQd7VIhcsICsa5R1gN9ACICeH3JUrqX/OOQQCAQDOPPNMtm3bRkLCnkVoFy1aRDgcZvjw4cCe4JaVlcXcuXNJTEzMv45LkiQdRAxuUiGXnZ1Neno6mZmZlCxZkiOOOIL09HRycnKoUKECffv2Zf369SQkJJCVlfXLIiJ165K8eDEfRKMcBSwGCIXoXqkSV119NY0aNQJg0qRJsffKyMigTp06FClShLFjx1KzZs18768kSdLByOAmFXJHHnkkd955J3PnzuXHH3/kgQceoFq1apQoUYJ58+ZRqlQp1q9fzwUXXMCRRx7Jww8/zJYtW7inUiVyExMhECAQDkMoBMWKwdFH7/V9wuEwF154If/85z9p2LAhp556KmPHjqVZs2b53GNJkqSDjxtwSweAMWPGcMwxxzB58mRefvllgsEgycnJDBo0iMmTJ9O3b1+SkpJo27Ytr776KkuWLGHc669zzAUXwD//CSkpNCxZkoYVKzL5ww/5z11CotEo7777Lo0aNaJ+/frccccdnHbaaTz22GN06NCBTp06MWHCBHbv3l2An4AkSdKBzX3cpAPALbfcwhFHHEGXLl245557qF27Nj/88AMzZsygRIkSbN68mSuuuIKbb755r9dXrVqV5cuXA9C9e3e6d+9Oy5YtATj77LPZtm0b9913H02bNs1z3dq1a7nnnnv45ptvmD59emzLAElSwYlGo4TD4b3+nfzfC0rNmTOH6tWrU7x48VibF154gcWLFzNgwIB8q1nSHzO4SQeATZs2cdhhh/3uP9Z/1+7du2NbA0iS4t/3339Ps2bN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uOyyy/ZrXyQdfHzGTZIk5Yv27dszYsSIv319Tk7O3772k08+4f333//NQFWmTBm++OILANLS0mibkEBObi5vRaPMAL4AlmVm8lKlSnmu++8Qunz5clauXPm365Sk3+KImyRJyjeV/iv4/Oz777+nfv361K1bN3YsHA4TCoVir6tWrcrEiRP/8ntu2rSJSy65hJSUFFq2bJnn3KpVqxg6dChdu3ZlxowZTJ48malTp3Lx9u2kA/OApsA/gdW5ubT49FPK/HRtJBIhKSmJd955h6uvvppQKMSWLVuIRqOMHTuWaDTKBRdcQP/+/f9yzZL03wxukiQpX+zevZuiRYvu9VwoFKJWrVqkpaUBe0Jb7dq1mT9/PqmpqX/7Pbdt28Y555zD7t276datG0OHDs1z/oorriAUCrFr1y4eeOABOnbsyOTJk+nXvj0tAgEui0YpDWQAi4JBAv/4R+zanTt3UqRIEVq1asXChQtJSkpiyJAh7N69mzvuuIOcnJw/XNFSkv4sp0pKkqR9bufOnZQrV46aNWtSu3ZtateuzYIFC+jevXvsdbVq1fhHw4Zw/fXQsSOsWcPOxYs55JBDOOWUUzjssMNo06YNzZo149BDD2XJkiV/qYZ58+bRsGFD6tSpw7333vub7RITEylRogT3338/ixcv5rzzzuPSfv04NiWFLUBfoFogwKzUVOjTJ3bdpk2bOPLII0lMTCQpKelX9w0GgyQnJ/+lmiXptzjiJkmS9rmiRYuyfv362OucnByKFy/O8ccfz5tvvrnn4KpVUL8+fPMNhMMAJDdtSkpSEn379s1zvxtuuIHExMS/VEPJkiV54IEHOOecc3juued+s10gECA9PZ0777yTzp07c+GFF9KvXz/a3HQTt3/wAWvXrOHORo245MsveWPHDn6ezDl//vw8UzslaX8yuEmSpP3uk08+oXnz5nz77besXr2aihUrwuDBkJERC20JABkZREMhdu/enef6v7N7UaVKlWLP1EUiEV588UWmT5+ep82qVato27YtqampXHbZZTz77LO89tprDB8+nKpVq3LZ8uWcfNllnNSzJ32feYbGjRszZcoUmjdvzrvvvssll1xCdnb2XkfcALKzswkGgwW2kqakA4fBTZL0l0SjUQKBQEGXoULmoYce4qabbmLhwoVce+21vPHGGzB7diy0pQMlgKycHLbl5vLAAw/kuX7Dhg1kZWX97fcPh8O/+YxbdnY26enpjB8/nttuu43mzZuzYcMGSpYsSYcOHejWrRsAl19+Oc2aNeOoo45i8eLFfPrpp3Tr1o0jjjiCpKSkPP9dPPHEEwBkZWUxadIkmjZt+rdrlyRwA25J0l80btw4Jk2axIsvvgjA9OnTefrppxkzZgzp6elkZ2dTtmxZNm7cSNmyZX/zPtFolOzsbEKhUGw0okePHtx3332UK1cu1u7KK6+kdevWnHfeefu3Y9pvnnjiCSZNmsTkyZOJRCI0adKECy+8kJuWLYORIyEcZgIwCRgdCrH5kks49KmnGDVqFHPmzGHQoEFEo1FSUlL+dg2ZmZnk5uZSvHjxP33N7t27f/M9v//+e77++mv/XErKN47bS5L+tKysLO655x5uuOEGXnjhBXbs2EFKSgqJiYm89tprHH/88bz88ssA9OrVi2uuuYZly5ZRpEgRGjZs+KtfJ5xwArNnz47dv2zZsowZMybPeyYlJf3mNLS9eeCBBzjkkEMoWbIkDz300L7puP62oUOHMmzYMLZv386UKVNITEzkjTfeYMSIEfRLTCS3aFEIhXgfaJaYSFbRopz2xRe89957sXtMmjSJNm3akJ6e/rfrKFKkyF8KbcDvBsWaNWsa2iTlK4ObJOlP6927N926daNJkyYsX76cm266CYA333yTDz74gHfeeYfrr78egDFjxlC5cmUyMzNjy7x/8cUXJCQk8Oabb/Lll18yf/58TjzxxNj9L7jgAo488sjffP9wOPy7y6vPnDmTsWPH8vXXX/PZZ59x9913s2rVqn3Ue/0VS5cupXPnzrz66qt88sknPProo1x++eXMnTuXI444gg8//JAPv/ySeqVL8+XZZ/NqMEiz88+nTa1adDrvPE444QRWrVpFIBCgS5cunHfeeZxxxhl/61k3SToQOFVSkvSnbN68mTJlylClShWCwSBJSUmsXr2a/v37M2fOHEaNGgXAeeedxy233MKCBQu4+OKL2bx5M23atGHAgAF0796dqlWrxu7X7sx2hE4LMW3qNDa9vokjDj2C5GAyu3btomfPnvTq1YvrrruOqVOnUrJkSbKzsxkyZAht27bda41z584lGAxSr149AI499lieeuopmjRpki+fkX6xcuVKJk2axFVXXRVbDXLWrFnUrVuXEiVKAHsWDHnt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\n",
      "text/plain": [
       "<Figure size 864x864 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(1, figsize=(12, 12))\n",
    "draw_cities(city_info_with_station, color='green')\n",
    "draw_cities(city_info, color='red')"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.8"
  },
  "latex_envs": {
   "LaTeX_envs_menu_present": true,
   "autoclose": false,
   "autocomplete": true,
   "bibliofile": "biblio.bib",
   "cite_by": "apalike",
   "current_citInitial": 1,
   "eqLabelWithNumbers": true,
   "eqNumInitial": 1,
   "hotkeys": {
    "equation": "Ctrl-E",
    "itemize": "Ctrl-I"
   },
   "labels_anchors": false,
   "latex_user_defs": false,
   "report_style_numbering": false,
   "user_envs_cfg": false
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": true,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  },
  "varInspector": {
   "cols": {
    "lenName": 16,
    "lenType": 16,
    "lenVar": 40
   },
   "kernels_config": {
    "python": {
     "delete_cmd_postfix": "",
     "delete_cmd_prefix": "del ",
     "library": "var_list.py",
     "varRefreshCmd": "print(var_dic_list())"
    },
    "r": {
     "delete_cmd_postfix": ") ",
     "delete_cmd_prefix": "rm(",
     "library": "var_list.r",
     "varRefreshCmd": "cat(var_dic_list()) "
    }
   },
   "types_to_exclude": [
    "module",
    "function",
    "builtin_function_or_method",
    "instance",
    "_Feature"
   ],
   "window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
